package com.lxmes.business.service;

import java.util.List;

import com.lxmes.base.domain.JcIteminfo;
import com.lxmes.business.domain.CcPurchaseInfo;

/**
 * 采购单Service接口
 *
 * @author 张志煜
 * @date 2022-11-27
 */
public interface ICcPurchaseInfoService
{
    /**
     * 查询采购单
     *
     * @param id 采购单主键
     * @return 采购单
     */
    public CcPurchaseInfo selectCcPurchaseInfoById(Long id);

    /**
     * 查询采购单列表
     *
     * @param ccPurchaseInfo 采购单
     * @return 采购单集合
     */
    public List<CcPurchaseInfo> selectCcPurchaseInfoList(CcPurchaseInfo ccPurchaseInfo);

    /*采购物料入库选择数据*/
    public List<CcPurchaseInfo> selectCcPurchaseInfoSelectList(CcPurchaseInfo ccPurchaseInfo);
    public List<CcPurchaseInfo> selectCcPurchaseInfoApplyList(CcPurchaseInfo ccPurchaseInfo);
    /**
     * 新增采购物料
     *
     * @return 结果
     */
    public List<CcPurchaseInfo> addCaigoItemInfo(Long[] ids);

    /**
     * 新增采购单
     *
     * @param ccPurchaseInfo 采购单
     * @return 结果
     */
    public int insertCcPurchaseInfo(CcPurchaseInfo ccPurchaseInfo);
    //采购单申请
    public int apply(CcPurchaseInfo ccPurchaseInfo);

    /**
     * 修改采购单
     *
     * @param ccPurchaseInfo 采购单
     * @return 结果
     */
    public int updateCcPurchaseInfo(CcPurchaseInfo ccPurchaseInfo);
    /*审批采购单*/
    public int updateShenPi(CcPurchaseInfo ccPurchaseInfo);
    /*采购单生成合同*/
    public int updateShenHtSc(CcPurchaseInfo ccPurchaseInfo);

    /**
     * 批量删除采购单
     *
     * @param ids 需要删除的采购单主键集合
     * @return 结果
     */
    public int deleteCcPurchaseInfoByIds(Long[] ids);

    /**
     * 删除采购单信息
     *
     * @param id 采购单主键
     * @return 结果
     */
    public int deleteCcPurchaseInfoById(Long id);

    String imporIteminfo(List<JcIteminfo> infoList, boolean updateSupport, String operName, CcPurchaseInfo ccPurchaseInfo);
}
